
# KVERSION = $(shell uname -r)
# KERN_DIR = /lib/modules/$(KVERSION)/build

# all:
# 	make -C $(KERN_DIR) M=`pwd` modules
# clean:
# 	make -C $(KERN_DIR) M=`pwd` modules clean
# 	rm -rf modules.order

# obj-m +=spi_screen_driver.o


#多个c文件生成一个ko文件。
# obj-m +=main.o                 #名字自定义，但是不要和.c文件的o文件名字一样！！
# main-objs =spi_screen_driver.o GC9A01.o GC9A01_hard.o       # -objs前的名字要和定义的名字一致

# # KERN_DIR 内核源码路径，根据自己需要设置
# KVERSION = $(shell uname -r)
# KERN_DIR = /lib/modules/$(KVERSION)/build


# all:
# #ARCH: 指当前编译的驱动模块的架构
# #CROSS_COMPILE：指明交叉编译器的前缀
# #-C: 指定去$(KERN_DIR)目录下执行Makefile
# #M：告知Makefile，需要的编译文件在哪
# #modules： 这个规则是用于编译驱动模块的
# 	@make -C $(KERN_DIR) M=$(PWD) modules 
# 	@rm -fr .tmp_versions *.o *.mod.o *.mod.c *.bak *.symvers *.markers *.unsigned *.order *~ .*.*.cmd .*.*.*.cmd
	
# clean:
# 	@make -C $(KERN_DIR) M=$(PWD) modules clean
# 	@rm -rf *.ko	




#-Wframe-larger-than 防止变量长度超过2048报错
# 4个字节定义指令 + 4096定义为数据
CONFIG_FRAME_WARN=4100


ifneq ($(KERNELRELEASE),)
obj-m +=gc9a01_screen.o                 #名字自定义，但是不要和.c文件的o文件名字一样！！
gc9a01_screen-objs = spi_screen_driver.o GC9A01_hard.o GC9A01.o        # -objs前的名字要和定义的名字一致

else
KDIR :=/usr/lib/modules/$(shell uname -r)/build
# KDIR :=/usr/lib/modules/$(shell uname -r)/build
# range Pi 用户手册 深圳市迅龙软件有限公司版权所有
PWD :=$(shell pwd)
all:
	make -j8 -C $(KDIR) M=$(PWD) modules
clean:
	rm -f *.ko *.o *.mod.o *.mod *.symvers *.cmd .*.cmd *.mod.c *.order 
endif

